package com.rzcode.coinex.kernel.dao.entity;

import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.time.LocalDateTime;

/**
 * 会员权重关系实体类，用于记录会员与其上级之间的权重分配信息。
 */
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
@TableName(value = "member_weight_upper")
public class MemberWeightUpper {

    /**
     * 权重关系ID，主键，自动生成的唯一标识。
     */
    @ApiModelProperty(value = "权重关系ID", example = "1")
    private Long id;

    /**
     * 会员ID，与该权重关系关联的会员信息。
     */
    @ApiModelProperty(value = "会员ID", example = "1001")
    private Long memberId;

    /**
     * 直接推荐人会员ID，即该会员的直接上级。
     */
    @ApiModelProperty(value = "直接推荐人会员ID", example = "1002")
    private Long firstMemberId;

    /**
     * 权重比例，会员从其下线交易中获取的收益比例。
     */
    @ApiModelProperty(value = "权重比例", example = "10")
    private Integer rate;

    /**
     * 上级层级，描述该会员在其上级网络中的位置。
     */
    @ApiModelProperty(value = "上级层级", example = "第一层")
    private String upper;

    /**
     * 创建时间，权重关系创建的时间戳。
     */
    @ApiModelProperty(value = "创建时间", example = "2023-01-01 12:00:00")
    private LocalDateTime createTime;
}

